/**
 * 判断是否为外部链接
 * @param {string} path
 * @returns {Boolean}
 */
export function isExternal(path) {
  return /^(https?:|mailto:|tel:)/.test(path)
}

/**
 * 判断是否为空
 * @param {*} value
 * @returns {Boolean}
 */
export function isEmpty(value) {
  return (
    value === undefined ||
    value === null ||
    (typeof value === 'string' && value.trim() === '') ||
    (Array.isArray(value) && value.length === 0) ||
    (typeof value === 'object' && Object.keys(value).length === 0)
  )
}

/**
 * 判断是否为手机号
 * @param {string} str
 * @returns {Boolean}
 */
export function isPhone(str) {
  const reg = /^1[3-9]\d{9}$/
  return reg.test(str)
}

/**
 * 判断是否为邮箱
 * @param {string} str
 * @returns {Boolean}
 */
export function isEmail(str) {
  const reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/
  return reg.test(str)
}